﻿<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>4.5.QueryObject返回首行首列</title>
    <script type="text/javascript" src="../Content/highlighter/scripts/shCore.js"></script>
    <script type="text/javascript" src="../Content/highlighter/scripts/shBrushCSharp.js"></script>
    <script type="text/javascript" src="../Content/highlighter/scripts/shBrushXml.js"></script>
    <link type="text/css" rel="stylesheet" href="../Content/highlighter/styles/shCoreDefault.css" />
    <script type="text/javascript">SyntaxHighlighter.all();</script>
</head>
<body>
    <h3>QueryObject方法</h3>
    <p>
        QueryObject(string sql) 有一个参数 sql:为sql查询语句
        <br />
        返回：Object对象<br/>
        （注：此方法返回Object对象所以必须用To类的转换函数来转换数据类型）<br/>
        To类函数:ToInt()、ToByte()、ToDateTime()、ToDecimal()、ToDouble()、ToFloat()、ToLong()、ToString();<br />
    </p>
    1、无参数
    <pre class="brush: csharp;">
    public void  Index()
    {
        //打开一个数据库链接
        var con = Models.YMC.OpenConnection();
        var row = con.QueryObject("select count(*) from user").ToInt();//用此方法后面必须跟To类的类型转换函数
        //关闭数据库连接
        con.Close();
    }
   </pre>
    <p>
        模板会根据以上代码生成正确的执行代码，此处不再显示。可以参见QueryRandom中的模板生成的代码
    </p>
   2、有默认值的参数
    <pre class="brush: csharp;">
        public void Index(int id=23)
        {
            //打开一个数据库链接
            var con = Models.YMC.OpenConnection();
            var row = con.QueryObject("select id from user where id=@id").ToInt();
            //关闭数据库连接
            con.Close();
        }
     </pre>
    3、vs2015支持的新语法，让SQL语句可以有自动提示
    <pre class="brush: csharp;">
        Models.Tips.Common.users users = new Models.Tips.Common.users();
        public void queryObject()
        {
            var con = Models.Common.OpenConnection();
            var count = con.QueryObject($"select count(*) from {users}").ToInt32();
            con.Close();
            Write(count);
        }
    </pre>
    <p>
        模板会根据以上代码生成正确的执行代码，此处不再显示。可以参见QueryRandom中的模板生成的代码
    </p>
   
</body>
</html>
